package com.winsdom.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.winsdom.vo.uniformCharge.*;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 统一收费数据访问接口
 */
@Mapper
public interface UnifiedChargingMapper {
    Page<ChargingInformationVO> selectChargingInfoByCategoryId(Page<Object> objectPage,int categoryId);

    Page<PaymentHistoryVO> selectChargeHistory(Page<Object> objectPage, int categoryId, String customerName, String invoiceNumber);

    /**
     * 查询应收详情
     * @param customerId
     * @return
     */
    List<BillingVO> receive(Integer customerId);

    List<BillingVO> getBillingDetailsByIds(List<Integer> detailIds);

    // 查询临时性计费项目
    List<ChargeItemVO> getTempChargeItems();

// 查询所有保证金类型及其对应的收费项目
    List<BondTypeWithItemsVO> getBondTypesWithItems();

    // 查询所有预存类型及其对应的收费项目
    List<PrestoreTypeWithItemsVO> getPrestoreTypesWithItems();
}
